好了!該是要進入核心內容了~
做為起手式,我決定來showcase在光電課程中,第一個試做的項目---
利用python進行ABCDmatrix光線追跡!
什麼是 ABCD 矩陣光線追跡法?
ABCD 矩陣,又稱光學傳輸矩陣或光線傳輸矩陣,是一種將光線在光學系統中傳播的關係簡化為矩陣運算的方法。對於一個光學系統中的每個元件(如透鏡或介質),我們可以定義一個 2x2 的 ABCD 矩陣來描述它對光線的影響。
光線的狀態可以用一個二維向量來表示:
其中,
r 是光線相對光軸的位置,θ 是光線相對光軸的弧度。
當光線通過一個光學元件後,新狀態可用以下矩陣乘法表示:
切記!光源出發到透鏡的矩陣算式排列為右到左,也就是離光源越遠越是靠左邊。
當沒有通過任何透鏡,或沒有穿越不同介質,也就是在同樣環境中傳遞一定距離d,其矩陣為:
每個光學元件的 ABCD 矩陣都不同。例如,對於一個焦距為 f 的薄透鏡,其矩陣為:
在設定上,焦距大於零的為凸透鏡:焦距小於零的是凹透鏡。
上表可以看到這種算法下對各種鏡種的矩陣設定,有興趣可以去wiki查看詳細內容,不過作為示範,目前只會用到介質(空氣)和薄凹/凸透鏡。
介紹完畢,明天就要上python寫算式囉!